package com.wsoft.im.service;

import com.github.pagehelper.PageInfo;
import com.wsoft.im.entity.ImMemberConfigEntity;
import com.baomidou.mybatisplus.extension.service.IService;
import com.wsoft.im.query.member.config.MemberConfigQuery;
import com.wsoft.im.query.member.config.MemberListQuery;
import com.wsoft.im.query.member.config.WhiteConfigQuery;
import com.wsoft.im.vo.MemberConfigVO;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author Z001
 * @since 2025年01月14日 09:21:32
 */
public interface IImMemberConfigService extends IService<ImMemberConfigEntity> {

    /**
     * 新增白名单列表
     * @param query
     * @return
     */
    boolean addWhiteList(WhiteConfigQuery query);

    /**
     * 移除白名单列表
     * @param query
     * @return
     */
    boolean removeWhiteList(WhiteConfigQuery query);

    /**
     * 添加白名单/黑名单
     * @param query
     * @return
     */
    boolean addConfigList(MemberConfigQuery query);

    /**
     * 移除白名单/给名单
     * @param query
     * @return
     */
    boolean removeConfigList(MemberConfigQuery query);

    /**
     * 获取白名单/黑名单列表
     * @param query
     * @return
     */
    PageInfo<MemberConfigVO> memberList(MemberListQuery query);


    /**
     * 管理员获取白名单列表
     * @param query
     * @return
     */
    PageInfo<MemberConfigVO> getWhiteList(MemberListQuery query);


}
